package com.songcha.library_base.base

import android.os.Bundle
import android.view.View
import androidx.core.view.WindowInsetsCompat
import com.songcha.library_base.interfaces.IAppLifecycle
import com.songcha.library_base.interfaces.ILoadData
import me.jessyan.autosize.internal.CustomAdapt

interface IBasePage: ILoadData, IAppLifecycle,CustomAdapt,IOnApplyWindowInsetsCall {
   fun initView(savedInstanceState: Bundle?)
   fun isNeedShowLoad():Boolean
   fun isNeedShowLoadingDialog():Boolean
   fun showLoadingDialog(canCancel:Boolean = true)
   fun hideLoadingDialog()
   fun setLoadingDialogProgress(progress:Int)
   fun getRootView():View?
   fun getLayoutId():Int
   fun getLoadErrorLayoutId():Int
   fun getLoadNoDataLayoutId():Int
   fun getLoadTimeoutLayoutId():Int
   fun getLoadNoNetworkLayoutId():Int
   fun getLoadConnectErrorLayoutId():Int
   fun getLoadErrorTip():String
   fun getLoadTimeOutTip():String
   fun getLoadNoDataTip():String
   fun getLoadNoNetworkTip():String
   fun getLoadConnectErrorTip():String
   fun getLoadBackgroundColor():Int
   fun onLoadErrorInflate(view:View)
   fun onLoadNoDataInflate(view:View)
   fun onLoadTimeoutInflate(view:View)
   fun onLoadNoNetworkInflate(view:View)
   fun onLoadConnectErrorInflate(view:View)
   fun onRootViewPost()
}